package com.alex.insistence.rest.goal;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

import org.springframework.web.bind.annotation.PathVariable;

import com.gomore.jeecg.common.ServiceException;
import com.gomore.jeecg.rest.common.ContentType;

/**
 * @author:liyang
 * @time:2018年4月5日 上午10:34:47
 * @since:1.0
 */

@Path("/goal")
@Consumes({
    ContentType.APPLICATION_JSON_UTF_8 })
@Produces({
    ContentType.APPLICATION_JSON_UTF_8 })
public interface RsGoalPlanService {

  /**
   * 保存目标计划单
   * 
   * @param insertGoalPlanDTO
   * @return 计划单Id
   */

  @POST
  @Path("/plan/save")
  String save(GoalPlanDTO insertGoalPlanDTO) throws ServiceException;

  /**
   * 提交目标计划单
   * 
   * @param insertGoalPlanDTO
   * @return 计划单Id
   */
  @POST
  @Path("/plan/submit")
  String submit(GoalPlanDTO insertGoalPlanDTO) throws ServiceException;

  /**
   * 删除目标计划
   */
  @POST
  @Path("/plan/delete/{id}")
  void deleteById(@PathVariable("planId") String planId) throws ServiceException;

  /**
   * 目标计划查询查询
   * 
   * @return
   */
  @POST
  @Path("/plan/query")
  GoalPlanQueryResult query(GoalPlanFilter filter) throws ServiceException;

}
